package com.koron.plan.web.repairplan.bean.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * (OverhaulOrderBean) 大修工单主实体
 * @author twcao
 * @since 2021-09-29 09:49:26
 */
@Data
@ApiModel("大修工单-基础信息")
public class OverhaulOrderBean implements Serializable {

    private static final long serialVersionUID = -45296635304380867L;

    @ApiModelProperty(value = "ID,32位随机数，主键")
    private String id;

    @ApiModelProperty(value = "大修工单编码")
    private String code;

    @ApiModelProperty(value = "大修工单标题")
    private String title;

    @ApiModelProperty(value = "设备管理单位ID")
    private String deptManage;

    @ApiModelProperty(value = "设备管理单位名称")
    private String deptManageName;

    @ApiModelProperty(value = "设备ID")
    private String equipmentId;

    @ApiModelProperty(value = "设备名称")
    private String equipmentName;

    @ApiModelProperty(value = "专业")
    private String major;

    @ApiModelProperty(value = "工单性质")
    private Boolean nature;

    @ApiModelProperty(value = "工单来源")
    private String source;

    @ApiModelProperty(value = "工单来源的ID")
    private String sourceId;

    @ApiModelProperty(value = "主办单位")
    private String deptWork;

    @ApiModelProperty(value = "主办单位名称")
    private String deptWorkName;

    @ApiModelProperty(value = "工作地点ID")
    private String location;

    @ApiModelProperty(value = "工作地点名称")
    private String locationName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "预计开始时间")
    private Date startTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "预计结束时间")
    private Date endTime;

    @ApiModelProperty(value = "工作内容")
    private String context;

    @ApiModelProperty(value = "备注")
    private String marks;

    @ApiModelProperty(value = "工单状态")
    private Integer status;

    @ApiModelProperty(value = "创建单位ID")
    private String deptId;

    @ApiModelProperty(value = "创建单位名称")
    private String deptName;

    @ApiModelProperty(value = "创建人账号")
    private String createBy;

    @ApiModelProperty(value = "创建人姓名")
    private String createByName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人账号")
    private String updateBy;

    @ApiModelProperty(value = "更新人姓名")
    private String updateByName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @JsonIgnore
    @ApiModelProperty(value = "删除标志,0：delete_flag=false，代表未删除 1：delete_flag = true，代表已删除",hidden = true)
    private Boolean deleteFlag;

    @ApiModelProperty(value = "计划id")
    private String planId;

    @ApiModelProperty(value = "计划code")
    private String planCode;
}
